import axios from 'axios'
import { CreateAxiosDefaults } from 'axios';
// import {ElMessage} from "element-plus";
import { useRouter } from "vue-router";
const router = useRouter();
export const baseUrl = '/sso'; // 设置后端基础路径
// export const baseUrl = 'http://127.0.0.1:8081'; // 如果使用这个，vite.config.ts的proxy就不需要
interface CustomAxiosDefaults extends CreateAxiosDefaults {
    headers: {
        'Content-Type': 'application/json',
        'token': string,
        'X-Requested-With': string,
    };
}


const request = axios.create({
    baseURL: baseUrl, // 基础路径
    timeout: 60000, // 超时断开连接
    withCredentials: true,
    headers: {
        'Content-Type': 'application/json',
        'token': 'x-auth-token',
        'X-Requested-With': 'XMLHttpRequest',
    },
} as CustomAxiosDefaults);

// request拦截器
request.interceptors.request.use(
    
    config => {
        return config
    },
    error => {
        // 对请求错误做些什么
        Promise.reject(error)
    }
)

// response 拦截器
request.interceptors.response.use(
    response => {
        // 根据自己后端实际响应体封装是否要报错提示
        // if (response.data && response.data.header) {
        //     const  code = response.data.header.code
        //     if (code !== 0) {
        //         ElMessage.error(response.data.header.message)
        //         return;
        //     }
        // }
        // 对响应数据做点什么
        return response.data
    },
    error => {
        // 对响应错误做点什么
        return Promise.reject(error)
    }
)
export default request